home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
games
/
sakiba
/
source
/
rbdata.c
< prev
next >
Wrap
Text File
|
2000-06-21
|
8KB
|
263 lines
/**************************************************
格闘シミュレーション「さきば」
キャラクタデータ(ロバ耳娘)
**************************************************/
#include <stdio.h>
#include "sakiba.h"
#include "chranim.h"
/************************
スプライトパターン
************************/
static CODE normal0_l[] = {0x0000, 0x0010}; /* 通常 */
static CODE normal1_l[] = {0x0001, 0x0011};
static CODE normal2_l[] = {0x0002, 0x0012};
static CODE normal0_r[] = {0x0003, 0x0013};
static CODE normal1_r[] = {0x0004, 0x0014};
static CODE normal2_r[] = {0x0005, 0x0015};
static CODE guard[] = {0x0006, 0x0016}; /* 防御 */
static CODE damage[] = {0x0007, 0x0017}; /* くらい */
static CODE ready0[] = {0x0008, 0x0018}; /* 登場 */
static CODE ready1_l[] = {0x0009, 0x0019};
static CODE ready1_r[] = {0x4009, 0x4019};
static CODE win0_l[] = {0x400a, 0x401a}; /* 勝ち */
static CODE win0_r[] = {0x000a, 0x001a};
static CODE win1_l[] = {0x400b, 0x401b};
static CODE win1_r[] = {0x000b, 0x001b};
static CODE win2_l[] = {0x400c, 0x401c};
static CODE win2_r[] = {0x000c, 0x001c};
static CODE win3_l[] = {0x400d, 0x401d};
static CODE win3_r[] = {0x000d, 0x001c};
static CODE balloon_l[] = {0x020e, 0x021e}; /* 風船 */
static CODE balloon_r[] = {0x420e, 0x421e};
static CODE lose0[] = {0x000f, 0x001f}; /* 負け */
static CODE lose1[] = {0x0020, 0x0030};
static CODE lose2[] = {0x0021, 0x0031};
static CODE rot_a[] = {0x0022, 0x0032}; /* 回転 */
static CODE rot_b[] = {0x0023, 0x0033};
static CODE rot_c[] = {0x0024, 0x0034};
static CODE rot_d[] = {0x0025, 0x0035};
static CODE rot_e[] = {0x0026, 0x0036};
static CODE rot_f[] = {0x0027, 0x0037};
static CODE rot_g[] = {0x0028, 0x0038};
static CODE rot_h[] = {0x0029, 0x0039};
static CODE dash_l[] = {0x002a, 0x003a}; /* ダッシュ */
static CODE dash_r[] = {0x002b, 0x003b};
static CODE kick_l[] = {0x012c, 0x012d, 0x013c, 0x013d}; /* キック */
static CODE kick_r[] = {0x412d, 0x412c, 0x413d, 0x413c};
static CODE punch0_l[] = {0x402e, 0x403e}; /* パンチ */
static CODE punch0_r[] = {0x002e, 0x003e};
static CODE punch1_l[] = {0x402f, 0x403f};
static CODE punch1_r[] = {0x002f, 0x003f};
enum { NORMAL0 = 0, NORMAL1, NORMAL2, GUARD, DAMAGE,
READY0, READY1, READY2, WIN0, WIN1, WIN2, WIN3, BALLOON, LOSE0, LOSE1, LOSE2,
ROT0, ROT1, ROT2, ROT3, ROT4, ROT5, ROT6, ROT7, DASH, KICK, PUNCH0, PUNCH1,
PAT_END
};
static
CHR_PAT chr_pat[] = {
{1, 2, normal0_l, normal0_r}, /* 通常 */
{1, 2, normal1_l, normal1_r},
{1, 2, normal2_l, normal2_r},
{1, 2, guard, guard}, /* 防御 */
{1, 2, damage, damage}, /* くらい */
{1, 2, ready0, ready0}, /* 登場 */
{1, 2, ready1_l, ready1_r},
{1, 2, ready1_r, ready1_l},
{1, 2, win0_l, win0_r}, /* 勝ち */
{1, 2, win1_l, win1_r},
{1, 2, win2_l, win2_r},
{1, 2, win3_l, win3_r},
{1, 2, balloon_l, balloon_r}, /* 風船 */
{1, 2, lose0, lose0}, /* 負け */
{1, 2, lose1, lose1},
{1, 2, lose2, lose2},
{1, 2, rot_a, rot_a}, /* 回転 */
{1, 2, rot_b, rot_h},
{1, 2, rot_c, rot_g},
{1, 2, rot_d, rot_f},
{1, 2, rot_e, rot_e},
{1, 2, rot_f, rot_d},
{1, 2, rot_g, rot_c},
{1, 2, rot_h, rot_b},
{1, 2, dash_l, dash_r}, /* ダッシュ */
{2, 2, kick_l, kick_r}, /* キック */
{1, 2, punch0_l, punch0_r}, /* パンチ */
{1, 2, punch1_l, punch1_r}
};
#define V(n, dn, ddn, t) (int)((n)*65536.0),(int)((dn)*65536.0),(int)((ddn)*65536.0),t
/****************
シーケンス
****************/
static
int xy0[] = { V(0.0, 0.0, 0.0, SEQ_END)
};
/*** 通常 *******/
static
short normal_pat[] = {NORMAL0, 10, NORMAL1, 12, NORMAL0, 10, NORMAL2, 12, SEQ_LOOP};
/*** 防御 *******/
static
short guard_pat[] = {GUARD, SEQ_LOOP};
/*** くらい *******/
static
short damage_pat[] = {DAMAGE, SEQ_LOOP};
static
int damage_x[] = { V(0.0, -1.0, 1.0/8, 8), V(-4.0, 0.0, 0.0, 32),
V(-4.0, 4.0/32, 0.0, 32), V(0.0, 0.0, 0.0, SEQ_END)
};
static
int damage_y[] = { V(0.0, -0.5, 0.5*2/16, 16), V(0.0, 0.0, 0.0, SEQ_END)
};
/*** 登場 *******/
static
short ready_pat[] = {READY0, 4, READY1, 24, READY0, 8, READY2, 24, READY0, 4, SEQ_LOOP};
static
int ready_x[] = { V(0.0, 10.0/32, -10.0*2/32/32, 32),
V(0.0, -10.0/32, 10.0*2/32/32, 32),
V(0.0, 0.0, 0.0, SEQ_LOOP)
};
static
int ready_y[] = { V(-2.0, 18.0/32, -18.0*2/32/32, 32),
V(0.0, 0.0, 0.0, SEQ_LOOP)
};
/*** 勝ち *******/
static
short win_pat[] = {WIN0, 8, WIN1, 8, WIN2, 8, WIN3, 8, SEQ_LOOP};
static
int win_x[] = { V(0.0, -0.25, 0.0, SEQ_END)
};
int win_y[] = { V(0.0, -0.3, 0.0008, SEQ_END)
};
static
short balloon_pat[] = {BALLOON, SEQ_LOOP};
static
int balloon_x[] = { V(-7.0, -0.25, 0.0, SEQ_END)
};
int balloon_y[] = { V(-20.0, -0.3, 0.0008, SEQ_END)
};
/*** 負け *******/
static
short lose_pat[] = {LOSE0, 12, LOSE1, 18, LOSE2, 12, SEQ_LOOP};
/*** キック *******/
static
short kick1_pat[] = {DASH, 12, ROT6, 4, KICK, 12, SEQ_END};
static
int kick1_x[] = { V(0.0, 12.0/16, 0.0, 16), V(12.0, 38.0/12, 0.0, 12),
V(50.0, 0.0, 0.0, SEQ_END)
};
static
int kick1_y[] = { V(0.0, -1.0, 1.0*2/16, 16), V(0.0, -48.0/48, 4.0/48, 12),
V(-4.0, 0.0, 0.0, SEQ_END)
};
static
short kick2_pat[] = {KICK, 12 + 4, DASH, 4, ROT6, 8, DASH, 24, ROT6, 8 + 16, SEQ_END};
static
int kick2_x[] = { V(50.0, 0.0, 0.0, 12), V(50.0, -2.0/16, 0.0, 16),
V(48.0, -48.0/32, 0.0, 32), V(0.0, 0.0, 0.0, SEQ_END)
};
static
int kick2_y[] = { V(-4.0, 0.0, 0.0, 12), V(-4.0, 0.0, 1.0/32, 16),
V(0.0, -0.5, 0.5*2/32, 32), V(0.0, 0.0, 0.0, SEQ_END)
};
/*** パンチ *******/
static
short punch1_pat[] = {DASH, 24, ROT7, 4, PUNCH0, 24, SEQ_END};
static
int punch1_x[] = { V(0.0, 56.0*2/40, -56.0*2/40/40, 40),
V(56.0, 0.0, 0.0, 12), V(56.0, 0.0, 0.0, SEQ_END)
};
static
int punch1_y[] = { V(0.0, -0.5, 0.5*2/40, 40),
V(0.0, 0.0, 0.0, 12), V(0.0, 0.0, 0.0, SEQ_END)
};
static
short punch2_pat[] = {PUNCH1, 12, ROT1, 8, ROT2, 8, ROT3, 8, ROT4, 8, ROT5, 8,
DASH, 32, NORMAL0, 12, SEQ_END};
static
int punch2_x[] = { V(56.0, 0.0, 0.0, 12 + 40), V(56.0, -56.0/32, 0.0, 32),
V(0.0, 0.0, 0.0, SEQ_END)
};
static
int punch2_y[] = { V(0.0, -40.0*2/12, 40.0*2/12/12, 12), V(-40.0, 0.0, 40.0*2/40/40, 40),
V(0.0, -1.0, 1.0*2/32, 32), V(0.0, 0.0, 0.0, SEQ_END)
};
#define NUL3 {NULL, NULL, NULL}
/**********************
キャラクタデータ
**********************/
CHR_DATA chr_roba = {
{3, 5, 10, /* 弱攻撃 */
"跳び蹴り",
{{kick1_pat, kick1_x, kick1_y}, NUL3},
{{kick2_pat, kick2_x, kick2_y}, NUL3}
},
{5, 7, 20, /* 強攻撃 */
"ニコニコアッパー",
{{punch1_pat, punch1_x, punch1_y}, NUL3},
{{punch2_pat, punch2_x, punch2_y}, NUL3}
},
"ロウミィ", /* キャラクタ名 */
"ROBA", /* スプライトファイル名 */
{"ROBA1", "ROBA2"}, /* パレットファイル名 */
chr_pat, /* キャラクタパターン */
{ /* アニメーションシーケンス */
{{normal_pat, xy0, xy0}, NUL3}, /* 通常 */
{{guard_pat, xy0, xy0}, NUL3}, /* 防御 */
{{damage_pat, damage_x, damage_y}, NUL3}, /* くらい */
{{ready_pat, ready_x, ready_y}, NUL3}, /* 登場 */
{{win_pat, win_x, win_y}, /* 勝ち */
{balloon_pat, balloon_x, balloon_y}},
{{lose_pat, xy0, xy0}, NUL3} /* 負け */
}
};
/******************** End of File *********************************************/